NAFPack_Iterative_Params Module


Uses

  • module~~nafpack_iterative_params~~UsesGraph module~nafpack_iterative_params NAFPack_Iterative_Params module~nafpack_constant NAFPack_constant module~nafpack_iterative_params->module~nafpack_constant module~nafpack_iterative_types NAFPack_Iterative_types module~nafpack_iterative_params->module~nafpack_iterative_types module~nafpack_matrix_decomposition NAFPack_matrix_decomposition module~nafpack_iterative_params->module~nafpack_matrix_decomposition module~nafpack_preconditioners NAFPack_Preconditioners module~nafpack_iterative_params->module~nafpack_preconditioners iso_fortran_env iso_fortran_env module~nafpack_constant->iso_fortran_env module~nafpack_iterative_types->module~nafpack_constant module~nafpack_matrix_decomposition->module~nafpack_constant module~nafpack_matricielle NAFPack_matricielle module~nafpack_matrix_decomposition->module~nafpack_matricielle module~nafpack_preconditioners->module~nafpack_constant module~nafpack_preconditioners->module~nafpack_iterative_types module~nafpack_preconditioners->module~nafpack_matrix_decomposition module~nafpack_preconditioners->module~nafpack_matricielle module~nafpack_matricielle->module~nafpack_constant

Used by

  • module~~nafpack_iterative_params~~UsedByGraph module~nafpack_iterative_params NAFPack_Iterative_Params module~nafpack_iterative_methods NAFPack_Iterative_methods module~nafpack_iterative_methods->module~nafpack_iterative_params module~nafpack_linalg NAFPack_linalg module~nafpack_linalg->module~nafpack_iterative_methods

Derived Types

type, public ::  IterativeParams

Components

Type Visibility Attributes Name Initial
real(kind=dp), public, DIMENSION(:), ALLOCATABLE :: x_init
real(kind=dp), public, DIMENSION(:,:), ALLOCATABLE :: L
real(kind=dp), public, DIMENSION(:,:), ALLOCATABLE :: U
real(kind=dp), public, DIMENSION(:,:), ALLOCATABLE :: D
real(kind=dp), public, DIMENSION(:), ALLOCATABLE :: residual
real(kind=dp), public, DIMENSION(:), ALLOCATABLE :: p
real(kind=dp), public :: omega = 1.d0
integer, public :: k = 0
integer, public :: max_iter = 1000
real(kind=dp), public :: tol = 1.0d-12
real(kind=dp), public :: alpha = 1.d0
real(kind=dp), public :: beta = 1.d0
logical, public :: is_stationary = .TRUE.
real(kind=dp), public :: old_dot_product = 0.d0
logical, public :: strict_mode = .FALSE.
procedure(ApplyPreconditioner), public, PASS(params), POINTER :: precond

Functions

public function ApplyPreconditioner(params, method) result(y)

Arguments

Type IntentOptional Attributes Name
class(IterativeParams), intent(in) :: params
class(MethodPreconditioner), intent(in) :: method

Return Value real(kind=dp), DIMENSION(SIZE(params%x_init))